'\" t
.\"     Title: bugle-exe
.\"    Author: 
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
.\"      Date: July 2010
.\"    Manual: Bugle user manual
.\"    Source: BUGLE 0.0.20150628
.\"  Language: English
.\"
.TH "BUGLE\-EXE" "7" "July 2010" "BUGLE 0.0.20150628" "Bugle user manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
bugle-exe \- record a compilable log of OpenGL calls made
.SH "SYNOPSIS"
.sp
.nf
filterset exe
{
    filename "\fIexetrace\&.c\fR"
}
.fi
.SH "DESCRIPTION"
.PP
This filter\-set provides a log of the OpenGL calls made\&. Unlike the
\fBbugle-trace\fR(7)
filter\-set, the log is output as C code that can be compiled to reproduce the function calls\&.
.if n \{\
.sp
.\}
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fBWarning\fR
.ps -1
.br
.PP
This filter\-set is still experimental and incomplete\&. For details, see below\&.
.sp .5v
.RE
.PP
Currently, only OpenGL function calls are recorded, not calls to WGL/GLX/EGL or the native windowing system\&. Handles returned by functions such as
\fBglGenTextures\fR
and
\fBglCreateShader\fR
are not remapped, so re\-running a compiled trace will only work if handles are generated deterministically by the OpenGL implementation\&. Client\-side vertex arrays are also not yet supported\&.
.PP
The generated code merely consists of a function per frame, and a lookup table of those function\&. It is up to you to provide a harness in which to run this code\&.
.SH "OPTIONS"
.PP
\fBfilename\fR
.RS 4
The name of the C file to generate\&. Defaults to
exetrace\&.c\&.
.RE
.SH "BUGS"
.PP
See the limitations above\&. This filter\-set is also vulnerable to any errors or omissions in the tables that tell
bugle
how many values are stored in an array passed to OpenGL\&.
.PP
Because the filter\-set examines arguments and follows pointers, it is possible to crash it by passing invalid values, particularly invalid pointers\&.
.SH "AUTHOR"
.PP
bugle
is written and maintained by
Bruce Merry\&.
.SH "SEE ALSO"
.PP
\fBbugle\fR(3),
\fBbugle-trace\fR(7)
